<?php namespace system\model;
//	框架的核心模型类
	use hdphp\model\Model;
	
//	模型类：用户表模型
	class Category extends Model{
		protected $table='category';
//		使用自动验证
	protected $validate =array(
              array('cname','required','分类名不能为空',3,3),
              array('csort','required|num:1,10000','排序只能为数字，不能为空',3,3),
          );
		public function store(){
//			调用模型类中的验证方法
			if(!$this->create()){
				return FALSE;
			}
//			写入数据库   一定要保证接收的数据中一个字段与数据库字段中有个是一致的
			return $this->add();
		}

		public function getAll(){
//			获取数据返回值
			$data=$this->orderBy('csort','DESC')->get();
//			获取树形结构
			$data=Data::tree($data,'cname','cid','pid');
//			返回数据
			return $data;
		}

		public function getNoMy(){
//			接收get参数cid
			$cid=Q('get.cid',0,'intval');
//			获取所有数据
			$olddata=$this->get();
			
//			获取当前数据的子类id
			$scid=$this->getSon($olddata,$cid);
			$scid[]=$cid;
//			输出树形结构
			$scid=implode(',',$scid);
			$scid=$this->where('cid not in('.$scid.')')->get();
//			var_dump($scid);die;
			$fdata=Data::tree($scid,'cname','cid','pid');
			return $fdata;
		}
		private function getSon($olddata,$cid){
//			var_dump($cid);die;
			$tem=array();
			foreach($olddata as $k=>$v){
				if($v['pid']==$cid){
//					当pid等于cid时追加到$tem[]	
					$tem[]=$v['cid'];
//					进入递归
					$tem=array_merge($tem,$this->getSon($olddata,$v['cid']));
				}
//				echo $v['pid'];
			}
//			var_dump($tem);
//			返回数组
			return $tem;
		}








		public function editModel(){
//			判断是否有错误
			if(!$this->create()) return FALSE;
//			保存数据			
			return $this->save();
		}
		
	}
	
	
	
	?>